Computing environments frequently employ cloud computing platforms, where “cloud” refers to a collective computing infrastructure that implements a cloud computing paradigm. For example, cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. Such computing environments are typically deployed and managed by service providers, who provide a computing environment for customers (tenants) to run their application programs (e.g. business applications or otherwise). The applications are typically run on one or more computing devices (i.e., host devices or hosts), and write data to and read data from one or more storage devices (e.g., hard disk drives, flash drives, etc.). The storage devices may be remote from the host devices (part of so-called “cloud storage”) and storage devices may be local to the host (part of so-called “primary storage”), e.g., part of the same computing device(s) that implement the host. In a data tiering hierarchy, the primary storage is typically considerd a first storage tier and the cloud storage is typically considerd a second storage tier. Also, it is to be understood that an enterprise (e.g., business, university, etc.) can implement a primary storage tier internal to the enterprise, and utilize cloud storage (external to the enterprise) through a service provider when needed.
Tiering cold or inactive data from a first tier localized (e.g., enterprise) storage environment to a second tier cloud environment enables a cost-effective model for storage of data. Cold or inactive data refers to data that is rarely used or accessed. Cloud storage provides a large capacity second tier storage service that is relatively inexpensive, relying on less enterprise-level data features than primary sotrage. Existing tiering solutions generally ingest the cold/inactive data through a normal data access interface (like reading from a host), which includes reading the content, and performing decryption and/or decompression (e.g., inline or offline), which causes extra CPU processing and memory consumption, impacting overall performance.